import 'package:base_flutter/base_flutter.dart';

/// sexName : null
/// relationshipName : "其他"
/// decisionFlagName : null
/// contactFlagName : "是"
/// customerId : 7644
/// name : "叶志诚"
/// mobile : "手机:13957166929"
/// sex : null
/// relationshipId : 166
/// decisionFlag : null
/// contactFlag : 1
/// remark : null
/// addr : null
/// humanId : null
/// tenantId : 1000
/// branchId : 6627
/// appointDate : null
/// familyCardNo : null
/// familyCardAttachIds : null
/// operKindId : null
/// originMasterId : null
/// originSecondId : null
/// detailSource : null
/// accCode : "1000.6507.6627"
/// labelIds : null
/// labelNames : null
/// employer : null
/// profession : null
/// liveCondition : null
/// saasId : 1000
/// id : 7546
/// createdBy : null
/// createdDate : null
/// updatedBy : null
/// updatedDate : null

class CustomerFamilyInfo implements IPickerData {
  CustomerFamilyInfo({
      this.sexName, 
      this.relationshipName, 
      this.decisionFlagName, 
      this.contactFlagName, 
      this.customerId, 
      this.name = "",
      this.mobile, 
      this.sex, 
      this.relationshipId, 
      this.decisionFlag, 
      this.contactFlag, 
      this.remark, 
      this.addr, 
      this.humanId, 
      this.tenantId, 
      this.branchId, 
      this.appointDate, 
      this.familyCardNo, 
      this.familyCardAttachIds, 
      this.operKindId, 
      this.originMasterId, 
      this.originSecondId, 
      this.detailSource, 
      this.accCode, 
      this.labelIds, 
      this.labelNames, 
      this.employer, 
      this.profession, 
      this.liveCondition, 
      this.saasId, 
      this.id, 
      this.createdBy, 
      this.createdDate, 
      this.updatedBy, 
      this.updatedDate,});

  CustomerFamilyInfo.fromJson(dynamic json) {
    sexName = json['sexName'];
    relationshipName = json['relationshipName'];
    decisionFlagName = json['decisionFlagName'];
    contactFlagName = json['contactFlagName'];
    customerId = json['customerId'];
    name = json['name'];
    mobile = json['mobile'];
    sex = json['sex'];
    relationshipId = json['relationshipId'];
    decisionFlag = json['decisionFlag'];
    contactFlag = json['contactFlag'];
    remark = json['remark'];
    addr = json['addr'];
    humanId = json['humanId'];
    tenantId = json['tenantId'];
    branchId = json['branchId'];
    appointDate = json['appointDate'];
    familyCardNo = json['familyCardNo'];
    familyCardAttachIds = json['familyCardAttachIds'];
    operKindId = json['operKindId'];
    originMasterId = json['originMasterId'];
    originSecondId = json['originSecondId'];
    detailSource = json['detailSource'];
    accCode = json['accCode'];
    labelIds = json['labelIds'];
    labelNames = json['labelNames'];
    employer = json['employer'];
    profession = json['profession'];
    liveCondition = json['liveCondition'];
    saasId = json['saasId'];
    id = json['id'];
    createdBy = json['createdBy'];
    createdDate = json['createdDate'];
    updatedBy = json['updatedBy'];
    updatedDate = json['updatedDate'];
  }
  dynamic sexName;
  String? relationshipName;
  dynamic decisionFlagName;
  String? contactFlagName;
  int? customerId;
  String name = "";
  String? mobile;
  dynamic sex;
  int? relationshipId;
  dynamic decisionFlag;
  int? contactFlag;
  dynamic remark;
  dynamic addr;
  dynamic humanId;
  int? tenantId;
  int? branchId;
  dynamic appointDate;
  dynamic familyCardNo;
  dynamic familyCardAttachIds;
  dynamic operKindId;
  dynamic originMasterId;
  dynamic originSecondId;
  dynamic detailSource;
  String? accCode;
  dynamic labelIds;
  dynamic labelNames;
  dynamic employer;
  dynamic profession;
  dynamic liveCondition;
  int? saasId;
  int? id;
  dynamic createdBy;
  dynamic createdDate;
  dynamic updatedBy;
  dynamic updatedDate;
CustomerFamilyInfo copyWith({  dynamic sexName,
  String? relationshipName,
  dynamic decisionFlagName,
  String? contactFlagName,
  int? customerId,
  String? name,
  String? mobile,
  dynamic sex,
  int? relationshipId,
  dynamic decisionFlag,
  int? contactFlag,
  dynamic remark,
  dynamic addr,
  dynamic humanId,
  int? tenantId,
  int? branchId,
  dynamic appointDate,
  dynamic familyCardNo,
  dynamic familyCardAttachIds,
  dynamic operKindId,
  dynamic originMasterId,
  dynamic originSecondId,
  dynamic detailSource,
  String? accCode,
  dynamic labelIds,
  dynamic labelNames,
  dynamic employer,
  dynamic profession,
  dynamic liveCondition,
  int? saasId,
  int? id,
  dynamic createdBy,
  dynamic createdDate,
  dynamic updatedBy,
  dynamic updatedDate,
}) => CustomerFamilyInfo(  sexName: sexName ?? this.sexName,
  relationshipName: relationshipName ?? this.relationshipName,
  decisionFlagName: decisionFlagName ?? this.decisionFlagName,
  contactFlagName: contactFlagName ?? this.contactFlagName,
  customerId: customerId ?? this.customerId,
  name: name ?? this.name,
  mobile: mobile ?? this.mobile,
  sex: sex ?? this.sex,
  relationshipId: relationshipId ?? this.relationshipId,
  decisionFlag: decisionFlag ?? this.decisionFlag,
  contactFlag: contactFlag ?? this.contactFlag,
  remark: remark ?? this.remark,
  addr: addr ?? this.addr,
  humanId: humanId ?? this.humanId,
  tenantId: tenantId ?? this.tenantId,
  branchId: branchId ?? this.branchId,
  appointDate: appointDate ?? this.appointDate,
  familyCardNo: familyCardNo ?? this.familyCardNo,
  familyCardAttachIds: familyCardAttachIds ?? this.familyCardAttachIds,
  operKindId: operKindId ?? this.operKindId,
  originMasterId: originMasterId ?? this.originMasterId,
  originSecondId: originSecondId ?? this.originSecondId,
  detailSource: detailSource ?? this.detailSource,
  accCode: accCode ?? this.accCode,
  labelIds: labelIds ?? this.labelIds,
  labelNames: labelNames ?? this.labelNames,
  employer: employer ?? this.employer,
  profession: profession ?? this.profession,
  liveCondition: liveCondition ?? this.liveCondition,
  saasId: saasId ?? this.saasId,
  id: id ?? this.id,
  createdBy: createdBy ?? this.createdBy,
  createdDate: createdDate ?? this.createdDate,
  updatedBy: updatedBy ?? this.updatedBy,
  updatedDate: updatedDate ?? this.updatedDate,
);
  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['sexName'] = sexName;
    map['relationshipName'] = relationshipName;
    map['decisionFlagName'] = decisionFlagName;
    map['contactFlagName'] = contactFlagName;
    map['customerId'] = customerId;
    map['name'] = name;
    map['mobile'] = mobile;
    map['sex'] = sex;
    map['relationshipId'] = relationshipId;
    map['decisionFlag'] = decisionFlag;
    map['contactFlag'] = contactFlag;
    map['remark'] = remark;
    map['addr'] = addr;
    map['humanId'] = humanId;
    map['tenantId'] = tenantId;
    map['branchId'] = branchId;
    map['appointDate'] = appointDate;
    map['familyCardNo'] = familyCardNo;
    map['familyCardAttachIds'] = familyCardAttachIds;
    map['operKindId'] = operKindId;
    map['originMasterId'] = originMasterId;
    map['originSecondId'] = originSecondId;
    map['detailSource'] = detailSource;
    map['accCode'] = accCode;
    map['labelIds'] = labelIds;
    map['labelNames'] = labelNames;
    map['employer'] = employer;
    map['profession'] = profession;
    map['liveCondition'] = liveCondition;
    map['saasId'] = saasId;
    map['id'] = id;
    map['createdBy'] = createdBy;
    map['createdDate'] = createdDate;
    map['updatedBy'] = updatedBy;
    map['updatedDate'] = updatedDate;
    return map;
  }

}